﻿using Character.Behaviors;
using System;
using System.Collections.Generic;
using System.Security.Cryptography;
using System.Text;

namespace Character
{
    public abstract class Character
  {
        //        character(角色)是抽象类，由具体的角色来继承。
       // 具体的角色包括:国王(King) 、皇后(Queen)、骑士(Knight) 、妖怪(Troll) 。
        //Weapon(武器)是接口，由具体的武器来继承。所有实际的角色和武器都是具体类。
        //任何角色如果想换武器，可以调用setWeapon()方法，此方法定义在Character基类中。
        //在打斗(flight) 过程中，会调用到目前武器的useWeapon()方法，攻击其他角色。
        public WeaponBehavior Weapon;

        public void Fight()
        {
            Weapon.UseWeapon();
        }

        public void SetWeapon(WeaponBehavior weapon)
        {
            Weapon = weapon;
        }

      public abstract void DisPlay(); //显示信息
       
    }
}
